gtk4.git
6 years agoiconview: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 15:07:23 +0000 (17:07 +0200)]
iconview: Port bindings to use shortcuts

6 years agoinfobar: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:57:37 +0000 (16:57 +0200)]
infobar: Port bindings to use shortcuts

6 years agolabel: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:55:43 +0000 (16:55 +0200)]
label: Port bindings to use shortcuts

6 years agolistbox: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:47:58 +0000 (16:47 +0200)]
listbox: Port bindings to use shortcuts

6 years agonotebook: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:05:45 +0000 (16:05 +0200)]
notebook: Port bindings to use shortcuts

6 years agoscale: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:53:45 +0000 (15:53 +0200)]
scale: Port bindings to use shortcuts

6 years agoscalebutton: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:50:45 +0000 (15:50 +0200)]
scalebutton: Port bindings to use shortcuts

6 years agoscrolledwindow: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:48:18 +0000 (15:48 +0200)]
scrolledwindow: Port bindings to use shortcuts

6 years agosearchentry: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:44:45 +0000 (15:44 +0200)]
searchentry: Port bindings to use shortcuts

6 years agoshortcutssection: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:42:01 +0000 (15:42 +0200)]
shortcutssection: Port bindings to use shortcuts

6 years agoshortcutswindow: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:41:53 +0000 (15:41 +0200)]
shortcutswindow: Port bindings to use shortcuts

6 years agoflowbox: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:45:09 +0000 (03:45 +0200)]
flowbox: Port bindings to use shortcuts

6 years agopaned: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:45:03 +0000 (03:45 +0200)]
paned: Port bindings to use shortcuts

6 years agospinbutton: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:26:35 +0000 (03:26 +0200)]
spinbutton: Port bindings to use shortcuts

6 years agotextview: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:24:26 +0000 (03:24 +0200)]
textview: Port bindings to use shortcuts

6 years agofilechooserwidget: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:15:00 +0000 (03:15 +0200)]
filechooserwidget: Port bindings to use shortcuts

6 years agoshortcutcontroller: Add gtk_shortcut_controller_add_shortcut()
Benjamin Otte [Sat, 11 Aug 2018 23:38:50 +0000 (01:38 +0200)]
shortcutcontroller: Add gtk_shortcut_controller_add_shortcut()

... and gtk_shortcut_controller_remove_shortcut().

6 years agoshortcutcontroller: Add private API for running class shortcuts
Benjamin Otte [Sat, 11 Aug 2018 15:42:19 +0000 (17:42 +0200)]
shortcutcontroller: Add private API for running class shortcuts

We don't want regular users to be able to run class shortcuts in their
controllers, so we have to special case that.

6 years agotreeview: Port bindings to use shortcuts
Benjamin Otte [Sat, 11 Aug 2018 15:22:22 +0000 (17:22 +0200)]
treeview: Port bindings to use shortcuts

6 years agowidget: Port bindings to use shortcuts
Benjamin Otte [Sat, 11 Aug 2018 15:22:10 +0000 (17:22 +0200)]
widget: Port bindings to use shortcuts

6 years agodialog: Port binding to use shortcuts
Benjamin Otte [Wed, 8 Aug 2018 20:16:24 +0000 (22:16 +0200)]
dialog: Port binding to use shortcuts

6 years agotext: Port to widget shortcuts
Emmanuele Bassi [Wed, 5 Feb 2020 17:13:44 +0000 (17:13 +0000)]
text: Port to widget shortcuts

6 years agoAllow installing bindings bound to actions
Emmanuele Bassi [Wed, 5 Feb 2020 17:08:37 +0000 (17:08 +0000)]
Allow installing bindings bound to actions

This is just convenience code around GtkShortcut, just like bindings for
signal emission and callback invocation.

6 years agoshortcut: Add action activation
Emmanuele Bassi [Wed, 5 Feb 2020 17:08:14 +0000 (17:08 +0000)]
shortcut: Add action activation

6 years agobindings: Export action activation internally
Emmanuele Bassi [Wed, 5 Feb 2020 17:06:51 +0000 (17:06 +0000)]
bindings: Export action activation internally

We're going to use it, just like we use the signal emission code.

6 years agoshortcut: Add gtk_shortcut_set_callback()
Benjamin Otte [Wed, 8 Aug 2018 17:10:27 +0000 (19:10 +0200)]
shortcut: Add gtk_shortcut_set_callback()

... and gtk_widget_class_add_binding() to go with it.

This allows shortcuts to invoke manually added callbacks.

6 years agoassistant: Port bindings to use shortcuts
Benjamin Otte [Sun, 5 Aug 2018 02:20:58 +0000 (04:20 +0200)]
assistant: Port bindings to use shortcuts

6 years agocombobox: Port bindings to use shortcuts
Benjamin Otte [Sun, 5 Aug 2018 02:30:15 +0000 (04:30 +0200)]
combobox: Port bindings to use shortcuts

6 years agotrigger: Add an alternative trigger
Benjamin Otte [Sun, 5 Aug 2018 02:10:11 +0000 (04:10 +0200)]
trigger: Add an alternative trigger

And use it.

I just added it to GtkWidget just to show that I can.
The real reason I want it is for gamepad/joystick triggers
in games, so that it becomes possible to select 2 different
triggers (gamepad and keyboard) for the same shortcut.

6 years agoshortcut: Add GtkShortcutTrigger
Matthias Clasen [Sun, 15 Mar 2020 13:49:50 +0000 (09:49 -0400)]
shortcut: Add GtkShortcutTrigger

Triggers are meant to describe how to trigger a shortcut.
So far only a keyval + modifiers trigger exists.

6 years agowindow: Port bindings to use shortcuts
Benjamin Otte [Sat, 4 Aug 2018 10:30:53 +0000 (12:30 +0200)]
window: Port bindings to use shortcuts

6 years agobindings: Add more variant types
Benjamin Otte [Sat, 4 Aug 2018 10:27:30 +0000 (12:27 +0200)]
bindings: Add more variant types

Also marshal types that the code in gtkbindings.c doesn't use. These
will be used by gtk_widget_class_add_binding_signal().

6 years agowidget: Add gtk_widget_class_add_shortcut()
Benjamin Otte [Sat, 4 Aug 2018 10:16:00 +0000 (12:16 +0200)]
widget: Add gtk_widget_class_add_shortcut()

This allows adding shortcuts as a replacement for keybindings.

6 years agogtk: Add GtkShortcut
Benjamin Otte [Sat, 4 Aug 2018 10:14:13 +0000 (12:14 +0200)]
gtk: Add GtkShortcut

This is the base class for what is about to take over all sorts of
keyboard shortcuts. The initial version barely deals with keybindings.

6 years agobindings: Split out function to invoke an action signal
Benjamin Otte [Sat, 4 Aug 2018 09:01:32 +0000 (11:01 +0200)]
bindings: Split out function to invoke an action signal

We want to use that in shortcuts later.

6 years agoshortcutcontroller: Introduce
Benjamin Otte [Mon, 30 Jul 2018 04:02:20 +0000 (06:02 +0200)]
shortcutcontroller: Introduce

This is a very barebones controller that currently does nothing but
activate the binding signals. Yay.

And because we have bindings on every widget (Yes, a GtkGrid has a
keybinding - 2 in fact), we need that controller everywhere.

6 years agobindings: Make gtk_binding_parse_signal() use GVariantBuilder
Benjamin Otte [Tue, 31 Jul 2018 20:21:17 +0000 (22:21 +0200)]
bindings: Make gtk_binding_parse_signal() use GVariantBuilder

And because it's the last user of GtkBindingArg and
gtk_binding_entry_add_signall(), also remove those two.

6 years agobindings: Parse into GVariantBuilder directly
Benjamin Otte [Tue, 31 Jul 2018 19:34:52 +0000 (21:34 +0200)]
bindings: Parse into GVariantBuilder directly

Avoids the indirection via GtkBindingArg

6 years agobindings: Add gtk_binding_entry_add_signal_variant()
Benjamin Otte [Tue, 31 Jul 2018 19:32:34 +0000 (21:32 +0200)]
bindings: Add gtk_binding_entry_add_signal_variant()

This function is the replacement for
gtk_binding_entry_add_signall().

The GVariant will be demarshalled and passed to the action signal upon
binding activation. The same rules apply as used to apply for
GtkBindingArg, in that long, double and string args are now replaced by
"x", "d" and "s" variant types.

6 years agobindings: Replace GtkBindingArg arguments with GVariant
Benjamin Otte [Tue, 31 Jul 2018 18:09:03 +0000 (20:09 +0200)]
bindings: Replace GtkBindingArg arguments with GVariant

So far, this only replaces invocation, not yet parsing.

6 years agoMerge branch 'matthiasc/for-master2' into 'master'
Matthias Clasen [Thu, 26 Mar 2020 02:30:54 +0000 (02:30 +0000)]
Merge branch 'matthiasc/for-master2' into 'master'

Matthiasc/for master2

See merge request GNOME/gtk!1568

6 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 26 Mar 2020 01:54:30 +0000 (01:54 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1567

6 years agopasswordentry: Remove unused include
Emmanuele Bassi [Thu, 6 Feb 2020 15:00:02 +0000 (15:00 +0000)]
passwordentry: Remove unused include

6 years agoentry: Remove unused include
Emmanuele Bassi [Thu, 6 Feb 2020 14:59:31 +0000 (14:59 +0000)]
entry: Remove unused include

6 years agotext view: Fix touch selection
Matthias Clasen [Thu, 19 Mar 2020 13:46:53 +0000 (09:46 -0400)]
text view: Fix touch selection

We forgot to allocated that popover.

6 years agoevent controller focus: drop include
Matthias Clasen [Sun, 15 Mar 2020 03:42:38 +0000 (23:42 -0400)]
event controller focus: drop include

This header is not needed here, and it is going away.

6 years agoflattenlistmodel: Give access to child models
Matthias Clasen [Sun, 22 Mar 2020 17:19:55 +0000 (13:19 -0400)]
flattenlistmodel: Give access to child models

Add an api to retrieve the model containing a given
item in a flatten listmodel. This is useful when the
individual items in the list don't have backpointers.

6 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 25 Mar 2020 21:48:38 +0000 (21:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1565

6 years agoMerge branch 'wip/chergert/muxer-robustness-fix' into 'master'
Matthias Clasen [Wed, 25 Mar 2020 21:34:56 +0000 (21:34 +0000)]
Merge branch 'wip/chergert/muxer-robustness-fix' into 'master'

muxer: force muxer dispoal as part of widget dispose

See merge request GNOME/gtk!1564

6 years agofilechoosererrorstack: Fix object life-cycle
Matthias Clasen [Wed, 25 Mar 2020 20:01:06 +0000 (16:01 -0400)]
filechoosererrorstack: Fix object life-cycle

Unparent children in dispose, not in finalize.

6 years agotestsuite: Set NO_AT_BRIDGE for gtk tests
Matthias Clasen [Wed, 25 Mar 2020 19:29:12 +0000 (15:29 -0400)]
testsuite: Set NO_AT_BRIDGE for gtk tests

The a11y stack insists on spewing hard to control warnings
that make our tests fail. So, no accessibility for gtk tests :(

6 years agomuxer: force muxer dispoal as part of widget dispose
Christian Hergert [Wed, 25 Mar 2020 21:02:59 +0000 (14:02 -0700)]
muxer: force muxer dispoal as part of widget dispose

We need to cleanup state here immediately so that we do not potentially
access the g_class private data after it been finalized. This ensures that
the borrowed reference is dropped by the muxer.

6 years agoMerge branch 'wip/sadiq/fix-leak' into 'master'
Timm Bäder [Wed, 25 Mar 2020 09:13:50 +0000 (09:13 +0000)]
Merge branch 'wip/sadiq/fix-leak' into 'master'

singleselection: Fix a memory leak

See merge request GNOME/gtk!1554

6 years agomagnifier: Don't try to use a null widget paintable
Timm Bäder [Sun, 22 Mar 2020 14:41:40 +0000 (15:41 +0100)]
magnifier: Don't try to use a null widget paintable

We destroy the paintable in dispose, which can be called multiple times.

6 years agoinspector: Fix child widget life cycle
Timm Bäder [Sun, 22 Mar 2020 14:41:21 +0000 (15:41 +0100)]
inspector: Fix child widget life cycle

unparent them in dispose

6 years agoMerge branch 'patch-2' into 'master'
Timm Bäder [Tue, 24 Mar 2020 06:08:26 +0000 (06:08 +0000)]
Merge branch 'patch-2' into 'master'

gtkfilechoosernative: Remove duplicate "the" in the documentation

See merge request GNOME/gtk!1557

6 years agogtkfilechoosernative: Remove duplicate "the" in the documentation
LingMan [Tue, 24 Mar 2020 04:58:13 +0000 (04:58 +0000)]
gtkfilechoosernative: Remove duplicate "the" in the documentation

6 years agotestsuite/gtk/flattenlistmodel.c: fix build
Marc-Antoine Perennou [Sun, 22 Mar 2020 09:53:59 +0000 (10:53 +0100)]
testsuite/gtk/flattenlistmodel.c: fix build

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
6 years agosingleselection: Fix a memory leak
Mohammed Sadiq [Sun, 22 Mar 2020 05:12:01 +0000 (10:42 +0530)]
singleselection: Fix a memory leak

6 years ago3.98.1
Matthias Clasen [Sun, 22 Mar 2020 00:38:56 +0000 (20:38 -0400)]
3.98.1

6 years agoa11y: Don't re turn uninitialized memory
Matthias Clasen [Sun, 22 Mar 2020 01:06:35 +0000 (21:06 -0400)]
a11y: Don't re turn uninitialized memory

For some reason, this was now showing up in the
a11y tests as random image sizes in the about
dialog test.

6 years agoMerge branch 'filechooser-popover-fixes' into 'master'
Matthias Clasen [Sun, 22 Mar 2020 00:40:15 +0000 (00:40 +0000)]
Merge branch 'filechooser-popover-fixes' into 'master'

Filechooser popover fixes

See merge request GNOME/gtk!1553

6 years agofile chooser: Fix the rename file popover
Matthias Clasen [Sun, 22 Mar 2020 00:14:23 +0000 (20:14 -0400)]
file chooser: Fix the rename file popover

Make this popover work again by attaching it
to the file chooser itself.

6 years agofilechooser: Fix the file list popover
Matthias Clasen [Sun, 22 Mar 2020 00:00:15 +0000 (20:00 -0400)]
filechooser: Fix the file list popover

Make this popover work again.

6 years agofilechooser: Fix the new folder popover
Matthias Clasen [Sat, 21 Mar 2020 23:32:08 +0000 (19:32 -0400)]
filechooser: Fix the new folder popover

We were listening for change notification on a
no-longer-existing property.

6 years agoplaces sidebar: Fix the popovers
Matthias Clasen [Sat, 21 Mar 2020 22:28:57 +0000 (18:28 -0400)]
places sidebar: Fix the popovers

We need to check-resize the popovers.

6 years agoMerge branch 'portal-dir-chooser' into 'master'
Matthias Clasen [Sat, 21 Mar 2020 20:29:11 +0000 (20:29 +0000)]
Merge branch 'portal-dir-chooser' into 'master'

filechoosernativeportal: Allowing selecting folder(s)

See merge request GNOME/gtk!1552

6 years agofilechoosernativeportal: Allowing selecting folder(s)
Bastien Nocera [Fri, 13 Mar 2020 16:50:41 +0000 (17:50 +0100)]
filechoosernativeportal: Allowing selecting folder(s)

Use the "directory" portal option when asked to select folders.

6 years agoMerge branch 'portal-chooser-fail' into 'master'
Matthias Clasen [Sat, 21 Mar 2020 18:34:07 +0000 (18:34 +0000)]
Merge branch 'portal-chooser-fail' into 'master'

portal file chooser: Handle errors

Closes #2527

See merge request GNOME/gtk!1551

6 years agoportal file chooser: Handle errors
Matthias Clasen [Sat, 21 Mar 2020 17:06:10 +0000 (13:06 -0400)]
portal file chooser: Handle errors

Fall back to showing a local file chooser
if we get DBus errors from the portal.

Closes: #2527
6 years agoMerge branch 'fix-inspector-picking' into 'master'
Matthias Clasen [Sat, 21 Mar 2020 16:21:51 +0000 (16:21 +0000)]
Merge branch 'fix-inspector-picking' into 'master'

inspector: Make picking work again

Closes #2528

See merge request GNOME/gtk!1549

6 years agoMerge branch 'fix-inspector-key' into 'master'
Matthias Clasen [Sat, 21 Mar 2020 14:47:29 +0000 (14:47 +0000)]
Merge branch 'fix-inspector-key' into 'master'

x11: Fix key event state translation

See merge request GNOME/gtk!1550

6 years agox11: Fix key event state translation
Matthias Clasen [Sat, 21 Mar 2020 14:25:06 +0000 (10:25 -0400)]
x11: Fix key event state translation

In the event refactoring, a bit was lost.

This makes Ctrl-Shift-i work again to open
the inspector.

6 years agoinspector: Make picking work again
Matthias Clasen [Sat, 21 Mar 2020 13:42:58 +0000 (09:42 -0400)]
inspector: Make picking work again

We used to either make the inspector see- and click-thru
or lower it, but sadly translucency broke after we
removed surface opacity, and lowering doesn't work
on Wayland. So just hide the inspector window while
we are picking.

Fixes: #2528
6 years agoMerge branch 'new-text-attributes' into 'master'
Matthias Clasen [Sat, 21 Mar 2020 05:56:22 +0000 (05:56 +0000)]
Merge branch 'new-text-attributes' into 'master'

New text attributes

See merge request GNOME/gtk!1547

6 years agoMake overline support conditional
Matthias Clasen [Sat, 21 Mar 2020 04:44:04 +0000 (00:44 -0400)]
Make overline support conditional

The ci image does not have Pango 1.45, so for the
time being, make the overline support conditional
on Pango being new enough.

6 years agoRequire pango 1.44.4
Matthias Clasen [Sat, 21 Mar 2020 04:39:17 +0000 (00:39 -0400)]
Require pango 1.44.4

This lets use use the insert-hyphen attribute
unconditionally.

6 years agogtk-demo: Add hyphenation control to the markup demo
Matthias Clasen [Sat, 21 Mar 2020 03:51:36 +0000 (23:51 -0400)]
gtk-demo: Add hyphenation control to the markup demo

6 years agogtk-demo: Allow word breaking in the markup demo
Matthias Clasen [Sat, 21 Mar 2020 03:51:08 +0000 (23:51 -0400)]
gtk-demo: Allow word breaking in the markup demo

We want to show hyphenation control here.

6 years agotextbuffer: Parse overline and hyphenation attributes
Matthias Clasen [Sat, 21 Mar 2020 03:56:41 +0000 (23:56 -0400)]
textbuffer: Parse overline and hyphenation attributes

When inserting Pango markup into a text buffer, translate
Pango attributes for overlines and hyphenation control
into the corresponding text tag properties.

6 years agotextlayout: Handle new text tag properties
Matthias Clasen [Sat, 21 Mar 2020 03:56:04 +0000 (23:56 -0400)]
textlayout: Handle new text tag properties

Translate tag properties for overlines and
hyphenation control into Pango attributes.

6 years agotexttag: Support overline and hyphenation control
Matthias Clasen [Sat, 21 Mar 2020 03:54:39 +0000 (23:54 -0400)]
texttag: Support overline and hyphenation control

Add support for recently added Pango attributes
for overlines and hyphenation control. The new
properties of GtkTextTag are
overline, overline-rgba, allow-breaks, show-spaces
and insert-hyphens.

6 years agoMerge branch 'master_MR1290' into 'master'
Carlos Garnacho [Fri, 20 Mar 2020 20:20:41 +0000 (20:20 +0000)]
Merge branch 'master_MR1290' into 'master'

Copy of !1290 for master

Closes #2365

See merge request GNOME/gtk!1546

6 years agoMerge branch 'wip/chergert/fix-class-private-data-usage' into 'master'
Matthias Clasen [Fri, 20 Mar 2020 18:49:58 +0000 (18:49 +0000)]
Merge branch 'wip/chergert/fix-class-private-data-usage' into 'master'

Fix GtkWidgetClassPrivate data usage

See merge request GNOME/gtk!1545

6 years agowidget: fix class private data usage to be _init() safe
Christian Hergert [Fri, 20 Mar 2020 16:22:29 +0000 (09:22 -0700)]
widget: fix class private data usage to be _init() safe

Before this commit, adding GtkWidgetAction to class private data would
require copying the actions to each subclass as they were built or
modified. This was convenient in that it is a sort of "copy on write"
semantic.

However, due to the way that GTypeInstance works with base _init()
functions, the "g_class" pointer in GTypeInstance is updated as each
_init() function is called. That means you cannot access the subclasses
class private data, but only the parent class private data.

If instead we use a singly linked list of GtkWidgetAction, each subclass
has their own "head" yet all subclasses share the tail of the
GtkWidgetAction chain.

This creates one bit of complexity though. You need a stable way to know
which "bit" is the "enabled" bit of the action so we can track enabled
GAction state. That is easily solved by calculating the distance to the
end of the chain for a given action so that base classes sort ahead of
subclasses. Since the parent class always knows its parent's actions, the
position is stable.

A new dynamic bitarray helper also helps us avoid allocations in all the
current cases (up to 64 actions per widget) and dynamically switches to
malloc if that is to ever be exceeded.

6 years agowidget: move class private data to gtkwidgetprivate.h
Christian Hergert [Fri, 20 Mar 2020 16:16:30 +0000 (09:16 -0700)]
widget: move class private data to gtkwidgetprivate.h

We want access to the private data from the action muxer so we can just
move the structures to the gtkwidgetprivate.h header. Alternatively we
could create accessors, but given that we'll probably need to use this
in other areas, seems reasonable to just put it there.

6 years agoMerge branch 'test-protocol' into 'master'
Matthias Clasen [Fri, 20 Mar 2020 18:12:09 +0000 (18:12 +0000)]
Merge branch 'test-protocol' into 'master'

Test protocol: TAP

See merge request GNOME/gtk!1543

6 years agotestsuite: disable performance tests
Matthias Clasen [Fri, 20 Mar 2020 17:47:58 +0000 (13:47 -0400)]
testsuite: disable performance tests

For some reason, these tests are flaky in ci,
they always work locally for me. So, until
we use the data these tests produce for something,
lets just turn them off.

6 years agoMerge branch 'wip/carlosg/text-handle-natives' into 'master'
Matthias Clasen [Fri, 20 Mar 2020 17:29:17 +0000 (17:29 +0000)]
Merge branch 'wip/carlosg/text-handle-natives' into 'master'

Make text handles use native surfaces

See merge request GNOME/gtk!1487

6 years agogkimmulticontext: Fix crash due to leaked signal handler
Alexandr Miloslavskiy [Tue, 17 Dec 2019 11:44:33 +0000 (12:44 +0100)]
gkimmulticontext: Fix crash due to leaked signal handler

The problem is caused by gtk_im_multicontext_set_slave(), which forgets
to disconnect these signal handlers:
* gtk_im_multicontext_retrieve_surrounding_cb
* gtk_im_multicontext_delete_surrounding_cb

If slave GtkImContext emits signal after GtkIMMulticontext context is
destroyed, this leads to reading freed memory, sometimes causing a crash.

Fixes: #2365
6 years agoMerge branch 'ci-dbus-launch' into 'master'
Emmanuele Bassi [Fri, 20 Mar 2020 16:13:07 +0000 (16:13 +0000)]
Merge branch 'ci-dbus-launch' into 'master'

ci: Add dbus-launch to the Docker build

See merge request GNOME/gtk!1544

6 years agotestsuite: Fix an a11y test
Matthias Clasen [Fri, 20 Mar 2020 16:09:21 +0000 (12:09 -0400)]
testsuite: Fix an a11y test

The derive test wasn't producing TAP, so
running it as part of a tap testsuite wasn't
going well. Fix that.

6 years agotestsuite: Tell meson we use TAP
Matthias Clasen [Fri, 20 Mar 2020 13:39:56 +0000 (09:39 -0400)]
testsuite: Tell meson we use TAP

This makes meson actually parse the individual test
results. Most of the time, it does not make a difference,
but one case where it does is when all the individual
tests of a binary are skipped, meson will mark the
test as skipped.

6 years agoreftests: Fix an xfail to work
Matthias Clasen [Fri, 20 Mar 2020 15:52:54 +0000 (11:52 -0400)]
reftests: Fix an xfail to work

The background-image-multiple.ref.ui file uses
non-existing properties, which gives us a g_warning,
and the glib test framework insists on treating
warnings as fatal, so we end up doing exit(133),
which in turn makes the meson TAP parser ignore
its xfails.

Comment out the nonexisting properties, so we can
fail properly, and then in turn xfail properly.

6 years agotestsuite: Don't exit unsuccessfully when using TAP
Matthias Clasen [Fri, 20 Mar 2020 15:43:51 +0000 (11:43 -0400)]
testsuite: Don't exit unsuccessfully when using TAP

The meson TAP parser doesn't take this lightly and
forgets all about xfails when we exit(1), so don't.

6 years agoci: Add dbus-launch to the Docker build
Emmanuele Bassi [Fri, 20 Mar 2020 15:36:39 +0000 (15:36 +0000)]
ci: Add dbus-launch to the Docker build

6 years agogtktextview: Set magnifier popover on top
Carlos Garnacho [Fri, 20 Mar 2020 11:23:03 +0000 (12:23 +0100)]
gtktextview: Set magnifier popover on top

At the bottom, it sometimes has to fight for the same position than
text handles, besides might not be ergonomically convenient (eg.
finger/hand partly covering the popover). Move it at the top to fix
both.

6 years agogtktext: Set magnifier popover on top
Carlos Garnacho [Fri, 20 Mar 2020 11:20:54 +0000 (12:20 +0100)]
gtktext: Set magnifier popover on top

At the bottom, it sometimes has to fight for the same position than
text handles, besides might not be ergonomically convenient (eg.
finger/hand partly covering the popover). Move it at the top to fix
both.

6 years agogtkpopover: Re-present surface if position/pointing-to change while visible
Carlos Garnacho [Thu, 27 Feb 2020 17:08:46 +0000 (18:08 +0100)]
gtkpopover: Re-present surface if position/pointing-to change while visible

This ensures the popover will follow the new position parameters. This is
necessary for popovers like the text magnifier that can be repositioned
while visible.

6 years agogtkpopover: Ensure the pointed to rectangle has a minimum w/h
Carlos Garnacho [Thu, 27 Feb 2020 17:07:38 +0000 (18:07 +0100)]
gtkpopover: Ensure the pointed to rectangle has a minimum w/h

On wayland, protocol errors will be raised if the rectangle width/height
are 0. Avoid that situation so it's valid to all popovers.